package itheima01;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Xiao
 * @date 2021/7/28
 */
public class StreamDemo03 {
    /**
     * 	void forEach(Consumer action)：对此流的每个元素执行操作
     *          （Consumer接口中的方法void accept(T t)：对给定的参数执行此操作）；
     * 	long count()：返回此流中的元素个数。
     */
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>(List.of(
                "张三丰", "张无忌", "张翠山", "王二麻子", "张良", "谢广坤"));
        /*list.stream().forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });*/
        //list.stream().forEach(s -> System.out.println(s));
        list.stream().forEach(System.out::println);     //方法引用（简写）
        long count = list.stream().count();
        System.out.println(count);  //  6
    }
    /*list.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.startsWith("张");
            }
        });*/
    //因为Predicate接口中只有一个抽象方法test，
    // 所以可以使用Lambda表达式进行简化
}
